package com.heima.feigns.article;

import com.heima.model.article.dtos.ArticleDto;
import com.heima.model.article.pojos.ApAuthor;
import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.search.vos.SearchArticleVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @author admin
 */
@FeignClient("leadnews-article")
public interface ArticleFeign {

    /**
     * @param userId 用户id
     * @return 返回查询结果
     * @Description 根据用户id查询作者信息
     */
    @GetMapping("/api/v1/author/findByUserId/{userId}")
    ApAuthor findByUserId(@PathVariable("userId") Integer userId);

    /**
     * @param apAuthor 作者实体类对象
     * @return 添加结果
     * @Description 保存作者
     */
    @PostMapping("/api/v1/author/save")
    ResponseResult save(@RequestBody ApAuthor apAuthor);

    /**
     * @param articleDto 文章内容对象
     * @return 保存结果
     * @Description 保存app文章
     */
    @PostMapping("/api/v1/article/save")
    ResponseResult saveArticle(@RequestBody ArticleDto articleDto);

    /**
     * @param id 作者id
     * @return 查询结果
     * @Description 根据Id查询作者
     */
    @GetMapping("/api/v1/author/one/{id}")
    ApAuthor selectById(@PathVariable("id") Integer id);

    @GetMapping("/api/v1/article/{id}")
    SearchArticleVo findArticle(@PathVariable("id") Long id);
}